home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Text / print / HPDJ900Src.lha / init.asm < prev    next >
Assembly Source File  |  1999-11-21  |  4KB  |  136 lines

  1. **********************************************************************
  2. *
  3. *       printer device functions
  4. *
  5. **********************************************************************
  6.  
  7.         SECTION         printer
  8.  
  9. *------ Included Files -----------------------------------------------
  10.  
  11.         INCLUDE         "exec/types.i"
  12.         INCLUDE         "exec/nodes.i"
  13.         INCLUDE         "exec/lists.i"
  14.         INCLUDE         "exec/memory.i"
  15.         INCLUDE         "exec/ports.i"
  16.         INCLUDE         "exec/libraries.i"
  17.  
  18.         INCLUDE         "macros.i"
  19.  
  20. *------ Imported Functions -------------------------------------------
  21.  
  22.         XREF_EXE        CloseLibrary
  23.         XREF_EXE        OpenLibrary
  24.         XREF            _AbsExecBase
  25.  
  26.  
  27.         XREF            _PEDData
  28.  
  29.  
  30. *------ Exported Globals ---------------------------------------------
  31.  
  32.         XDEF            _Init
  33.         XDEF            _Expunge
  34.         XDEF            _Open
  35.         XDEF            _PD
  36.         XDEF            _PED
  37.         XDEF            _SysBase
  38.         XDEF            _DOSBase
  39.         XDEF            _GfxBase
  40.         XDEF            _IntuitionBase
  41.  
  42.  
  43. **********************************************************************
  44.         SECTION         printer,DATA
  45. _PD             DC.L    0
  46. _PED            DC.L    0
  47. _SysBase        DC.L    0
  48. _DOSBase        DC.L    0
  49. _GfxBase        DC.L    0
  50. _IntuitionBase  DC.L    0
  51.  
  52.  
  53. **********************************************************************
  54.         SECTION         printer,CODE
  55. _Init:
  56.                 MOVE.L  4(A7),_PD
  57.                 LEA     _PEDData(PC),A0
  58.                 MOVE.L  A0,_PED
  59.                 MOVE.L  A6,-(A7)
  60.                 MOVE.L  _AbsExecBase,A6
  61.                 MOVE.L  A6,_SysBase
  62.  
  63. *           ;------ open the dos library
  64.                 LEA     DLName(PC),A1
  65.                 MOVEQ   #0,D0
  66.                 CALLEXE OpenLibrary
  67.                 MOVE.L  D0,_DOSBase
  68.                 BEQ     initDLErr
  69.  
  70.  
  71. *           ;------ open the graphics library
  72.                 LEA     GLName(PC),A1
  73.                 MOVEQ   #0,D0
  74.                 CALLEXE OpenLibrary
  75.                 MOVE.L  D0,_GfxBase
  76.                 BEQ     initGLErr
  77.  
  78. *           ;------ open the intuition library
  79.                 LEA     ILName(PC),A1
  80.                 MOVEQ   #0,D0
  81.                 CALLEXE OpenLibrary
  82.                 MOVE.L  D0,_IntuitionBase
  83.                 BEQ     initILErr
  84.  
  85.                 MOVEQ   #0,D0
  86. pdiRts:
  87.                 MOVE.L  (A7)+,A6
  88.                 RTS
  89.  
  90. initPAErr:
  91.                 MOVE.L  _IntuitionBase,A1
  92.                 LINKEXE CloseLibrary
  93.  
  94. initILErr:
  95.                 MOVE.L  _GfxBase,A1
  96.                 LINKEXE CloseLibrary
  97.  
  98. initGLErr:
  99.                 MOVE.L  _DOSBase,A1
  100.                 LINKEXE CloseLibrary
  101.  
  102. initDLErr:
  103.                 MOVEQ   #-1,D0
  104.                 BRA.S   pdiRts
  105.  
  106. ILName:
  107.                 DC.B    'intuition.library'
  108.                 DC.B    0
  109. DLName:
  110.                 DC.B    'dos.library'
  111.                 DC.B    0
  112. GLName:
  113.                 DC.B    'graphics.library'
  114.                 DC.B    0
  115.                 DS.W    0
  116.  
  117.  
  118. *---------------------------------------------------------------------
  119. _Expunge:
  120.                 MOVE.L  _IntuitionBase,A1
  121.                 LINKEXE CloseLibrary
  122.  
  123.                 MOVE.L  _GfxBase,A1
  124.                 LINKEXE CloseLibrary
  125.  
  126.                 MOVE.L  _DOSBase,A1
  127.                 LINKEXE CloseLibrary
  128.  
  129.  
  130. *---------------------------------------------------------------------
  131. _Open:
  132.                 MOVEQ   #0,D0
  133.                 RTS
  134.  
  135.                 END
  136.